package com.ztesoft.report.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.ztesoft.report.base.entity.BaseEntity;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 菜单
 * </p>
 *
 * @author y3tu
 * @since 2018-07-23
 */
@TableName("SYS_MENU")
public class SysMenu extends BaseEntity<Long> {

    private static final long serialVersionUID = 1L;

    /**
     * 菜单ID
     */
	@TableId("MENU_ID")
	private String menuId;
    /**
     * 父菜单ID
     */
	@TableField("PARENT_ID")
	private String parentId;
    /**
     * 菜单名称
     */
	@TableField("NAME")
	private String name;
    /**
     * 层级
     */
	@TableField("MENU_LEVEL")
	private Integer menuLevel;
    /**
     * 菜单链接
     */
	@TableField("HREF")
	private String href;
    /**
     * 授权。(多个用逗号分隔，如：user:list,user:create)
     */
	@TableField("PERM_CODE")
	private String permCode;
    /**
     * 目标
     */
	@TableField("TARGET")
	private String target;
    /**
     * 类型。   0：目录，1：菜单，2：按钮，3：其他
     */
	@TableField("TYPE")
	private Integer type;
    /**
     * 菜单图标
     */
	@TableField("ICON")
	private String icon;
    /**
     * 排序
     */
	@TableField("SEQ_NUM")
	private Integer seqNum;
    /**
     * 状态。 0：隐藏   1：显示
     */
	@TableField("STATUS")
	private Integer status;
    /**
     * 描述
     */
	@TableField("REMARKS")
	private String remarks;
    /**
     * 创建人
     */
	@TableField("CREATE_BY")
	private String createBy;
    /**
     * 创建时间
     */
	@TableField("CREATE_DATE")
	private Date createDate;
    /**
     * 更新人
     */
	@TableField("UPDATE_BY")
	private String updateBy;
    /**
     * 更新时间
     */
	@TableField("UPDATE_DATE")
	private Date updateDate;
    /**
     * 删除标识。0：正常，1：删除
     */
	@TableField("DEL_FLAG")
	private Integer delFlag;


	public String getMenuId() {
		return menuId;
	}

	public void setMenuId(String menuId) {
		this.menuId = menuId;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getMenuLevel() {
		return menuLevel;
	}

	public void setMenuLevel(Integer menuLevel) {
		this.menuLevel = menuLevel;
	}

	public String getHref() {
		return href;
	}

	public void setHref(String href) {
		this.href = href;
	}

	public String getPermCode() {
		return permCode;
	}

	public void setPermCode(String permCode) {
		this.permCode = permCode;
	}

	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public Integer getSeqNum() {
		return seqNum;
	}

	public void setSeqNum(Integer seqNum) {
		this.seqNum = seqNum;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}

	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	@Override
	protected Serializable pkVal() {
		return this.menuId;
	}

	@Override
	public String toString() {
		return "SysMenu{" +
			", menuId=" + menuId +
			", parentId=" + parentId +
			", name=" + name +
			", menuLevel=" + menuLevel +
			", href=" + href +
			", permCode=" + permCode +
			", target=" + target +
			", type=" + type +
			", icon=" + icon +
			", seqNum=" + seqNum +
			", status=" + status +
			", remarks=" + remarks +
			", createBy=" + createBy +
			", createDate=" + createDate +
			", updateBy=" + updateBy +
			", updateDate=" + updateDate +
			", delFlag=" + delFlag +
			"}";
	}
}
